Altri articoli sul numero 54 Articoli sullo stesso argomento Alessandro Benetti si lamenta per i problemi che ha incontrato nello scegliere un hard disk per il suo A4000. Su quello AT-BUS che aveva tentato di installare venivano corrotti i files lunghi: alcuni programmi non partono se risiedono su hard disk (il Workbench emette il messaggio "impossibile caricare <nome programma>"), mentre se vengono caricati dal floppy funzionano bene. Come descritto sui numeri scorsi di Amiga Magazine, per eliminare il problema sarebbe bastato impostare a 0xffff il parametro "maxtransfer" di ogni partizione. Successivamente Benetti ha acquistato controller e hard disk SCSI sperando di migliorare la situazione, ma ottenendo risultati da "clone 486": un transfer-rate di soli 700 Kilobyte al secondo. Purtroppo SCSI non significa automaticamente velocita': ne' per l'hard disk ne' per il controller. Il prezzo pagato dal signor Benetti sarebbe ragionevole per un CP-30540, il modello attualmente prodotto da Conner (con velocita' di rotazione di 5400 RPM e cache come tutti gli SCSI2 moderni), ma dalle informazioni allegate alla lettera sembrerebbe che egli abbia acquistato un CP-3500 540MB, che e' un modello presentato nel 1991 con forma e capacita' quasi identiche, ma che non e' SCSI2, non ha cache ed e' molto piu' lento. Benetti ha poi acquistato un GVP 4008, che e' una scheda SCSI a 16 bit (Zorro2) basata su un chip a 8 bit della stessa famiglia di quello usato su A590 e nei precedenti controller GVP: la sigla e' abbastanza indicativa. Le schede a 16 bit danno cattive prestazioni su A3000 ed A4000 proprio per una questione di wait state. Le schede Zorro2 sono controllate da un clock di 14Mhz, diverso da quello della CPU: questo significa che occorre un'unita' di sincronizzazione interposta tra CPU e bus. Non meno di 14 wait state sono introdotti solo per far comunicare il 68040 con questa unita', e poi bisogna ancora attendere finche' un cambiamento di stato del clock a 14Mhz coincide con uno del clock a 25Mhz: tutta questa attesa serve a trasferire due soli byte, e per ogni 16 bit occorre ripetere tutta la trafila! Se il controller usa il metodo "polling" (detto anche "programmed I/O"), la CPU deve trasferire i byte uno ad uno dalla scheda, e occupa quasi tutto il suo tempo aspettando di poter accedere al bus senza fare alcun lavoro utile: in queste condizioni la velocita' di trasferimento raggiunge 1,5 megabyte al secondo al massimo, a prescindere da quanto il chip SCSI puo' permettere. Nel caso di A2091 il limite sono 450 kilobyte al secondo. Con i controller che usano il DMA possono accadere due cose: 1)Se la ROM e' recente (e' il caso di GVP4008 o di A2091 con ROM 7.0) tiene conto del fatto che solo la Chip RAM di A4000 supporta il DMA a 16 bit, quindi il controller lavora in modo polling eccetto che quando accede alla Chip RAM, dove opera in DMA liberando la CPU. 2)Se le ROM sono vecchie tentano di fare DMA dove non possono (A4000 non parte neanche!), oppure (se seguono le regole Commodore) funzionano ma adottano una strategia "disperata" che da' prestazioni massime di 40-60 kilobyte al secondo. A4000 e' ottimizzato per le schede Zorro3, a 32 bit: il SuperBuster revisione K gestisce il DMA a 32 bit su tutta la memoria; quando una scheda si sincronizza con il clock della CPU resta in quello stato e non occorre ripetere tutta la procedura di accesso; l'unita' di sincronizzazione e' piu' semplice e richiede solo 6 wait state (5 con il SuperBuster revisione K) per far accedere il 68040 alla scheda; essendo a 32 bit, il trasferimento coinvolge il doppio dei dati. Queste caratteristiche si traducono in prestazioni esaltanti come e' evidente leggendo la prova del controller Zorro3 "Fastlane". Un controller Zorro2 si puo' usare come rimedio temporaneo per sfruttare hard disk SCSI di cui si e' gia' in possesso, per un CD-ROM o uno streamer; ma se si vogliono buone prestazioni si deve usare un controller Zorro3, altrimenti e' meglio acquistare uno dei nuovi hard disk AT-BUS veloci e privi del "bug maxtransfer".